1. The Field of the Invention
The present invention relates to systems and methods for backing up or recovering the data of a computer system. More particularly, embodiments of the invention relate to systems and methods for backing up or recovering data that includes applications with dependencies on other applications.
2. Background and Relevant Art
Because of our dependence on computer networks and on computers themselves, a premium is placed on the availability and reliability of data. For many corporate enterprises, essentially all corporate data is stored on a computer network and access to the data is expected at any time. The demand for uninterrupted access to data corresponds to a need for software and hardware that can meet the demand to provide data and services. At the same time, the demand for access to data and the quantity of data has made it increasingly difficult to protect the data from events such as system failures, viruses, power outages, etc.
In view of these potential problems, it is imperative that the data be protected. This is typically accomplished through the use of software that backs up the data and that recovers the data from the backup copy when necessary. As the amount of data continues to increase, backing up and recovering the data becomes more complex. Large amounts of data cannot be quickly transferred from one volume to a backup volume and taking a volume of data offline for backup purposes is an unattractive option.
It is often necessary to also back up other types of data such as applications and services. However, applications and services often have open files when a backup is initiated. Open files generally cannot be effectively backed up using conventional systems, and are often skipped during backup operations. As a result, additional applications are often needed to help manage backups of open files and to administrate backup logs for files that were skipped during backup.
Certain applications including operating systems present another challenge to software and systems that back up data. The complexity of these applications often requires that they be backed up as a logical unit to preserve the state of the application or client. A partial backup of, for example, an operating system may result in inconsistencies or system failure if the operating system is restored from a partial or incomplete backup. In other words, backing up the file system itself does not effectively back up the state of the system and may result in errors when recovered. Operating systems and other applications are often used with databases or other volumes of data that need to be backed up in order to preserve the state of the system. In addition, operating systems as well as applications and services are often distributed across computer systems, a fact that complicates an effective backup and recovery of the data.
Applications and services present another problem as well during backup or recover operations. For example, an application may rely on data that is not part of the application itself or that is part of another application. Many systems, for example, include databases that are used by various applications but are not part of the applications themselves. Backing up the application without backing up the corresponding database may not result in a reliable backup because the application is dependent on the database. In other words, failure to backup the database on which the application relies during backup of the application itself is often unacceptable because of the dependency of the application on the database.